import subprocess
import time
import pyautogui
import os

# SSH 连接配置
hostname = '192.168.2.65'  # 远程服务器地址
username = 'ute'           # 用户名
password = 'ute'           # 密码

# Java 程序路径和类名
java_class_path = '/home/ute/kaishi'  # .class 文件所在目录
java_class_name = 'SimpleGUI'         # Java 类名（不含 .class 后缀）

# 使用 subprocess 调用 ssh -X
ssh_command = [
    'ssh', '-X',  # 启用 X11 转发
    f'{username}@{hostname}',  # 用户名和主机
    f'cd {java_class_path} && java {java_class_name} &'  # 切换到目录并启动 Java 程序（非阻塞）
]

# 启动 SSH 进程
process = subprocess.Popen(ssh_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 等待 Java 程序启动
time.sleep(5)  # 根据实际情况调整等待时间

# 使用 pyautogui 操控鼠标
try:
    # 设置本地 DISPLAY 环境变量
    os.environ['DISPLAY'] = ':0'  # 本地 DISPLAY

    # 获取屏幕分辨率
    screen_width, screen_height = pyautogui.size()
    print(f"Screen resolution: {screen_width}x{screen_height}")

    # 移动鼠标到 (100, 100) 并点击
    pyautogui.moveTo(100, 100)
    pyautogui.click()
    print("Mouse moved and clicked at (100, 100).")
except Exception as e:
    print(f"Error controlling mouse: {e}")

# 等待 SSH 进程结束
kill_java_cmd = f'pkill -f {java_class_name}'  # 根据类名终止 Java 程序
subprocess.run(['ssh', f'{username}@{hostname}', kill_java_cmd])
print("Java program terminated.")

process.wait()